package com.util;

import lombok.Data;

import java.util.List;

/**
 * @author yutianhong
 * @version 1.0
 * @since 2023/12/20 16:40
 */
@Data
public class FieldInfo {
    /**
     * 字段名称
     */
    public String fieldName;
    /**
     * 字段修饰符
     *
     * @see java.lang.reflect.Modifier
     */
    public Integer modifiers;
    /**
     * 字段注解
     */
    public List<AnnotationInfo> annotationInfoList;


    /**
     * 字段类型
     */
    public String className;
    /**
     * 字段泛型
     */
    public String genericType;
    /**
     * 是不是基础类型，void也是基础类型
     */
    public boolean primitive;
    /**
     * 是不是数组
     */
    public boolean array;
    /**
     * 是不是带有泛型
     */
    public boolean parameterized;
    /**
     * 是不是泛型变量
     */
    public boolean typeVariable;
    /**
     * 内部类型。如果字段是数组，那么数组内部装着的是componentType
     */
    public ParamInfo componentType;
    /**
     * 字段的泛型信息
     */
    public List<ParamInfo> genericInfoList;


}
